[PATCH] managesieve-login: Fix crash when command didn't finish on the first call
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 22 Dec 2025 20:25:04 +0000 (22:25 +0200)
committerNoah Meyerhans <noahm@debian.org>
Tue, 31 Mar 2026 19:07:17 +0000 (15:07 -0400)
Gbp-Pq: Name CVE-2025-59032.patch

pigeonhole/src/managesieve-login/client.c

index cc0aa46b3a761a8f761c5e65fdaf7dadcbd05489..c0711cdb562b37552158a4eaef518def1d192d96 100644 (file)
@@ -336,10 +336,12 @@ static bool managesieve_client_input_next_cmd(struct client *client)
                        if (args[0].type != MANAGESIEVE_ARG_EOL)
                                ret = -1;
                }
-       }
-       if (ret > 0) {
+               if (ret > 0)
+                       ret = msieve_client->cmd->func(msieve_client, args);
+       } else {
+               /* Continue unfinished command */
                i_assert(msieve_client->cmd != NULL);
-               ret = msieve_client->cmd->func(msieve_client, args);
+               ret = msieve_client->cmd->func(msieve_client, NULL);
        }
 
        if (ret != 0)